Skip to content

refactor(pgpm): split the dials sources into @pgpmjs/import and @pgpmjs/diff; engine glue moves to @pgpmjs/transform - #1573

Merged
pyramation merged 1 commit into
mainfrom
feat/pgpm-package-split
Aug 1, 2026
Merged

refactor(pgpm): split the dials sources into @pgpmjs/import and @pgpmjs/diff; engine glue moves to @pgpmjs/transform#1573
pyramation merged 1 commit into
mainfrom
feat/pgpm-package-split

Conversation

@pyramation

Copy link
Copy Markdown
Contributor

Summary

@pgpmjs/export had become the accidental home of the whole source-agnostic dials pipeline (#1569, #1571, #1572). This splits it back into one-package-per-front-door, with the shared engine glue in @pgpmjs/transform:

@pgpmjs/transform   (engine)      ← + restructure.ts, partition.ts, module-source.ts, catalog-check.ts
@pgpmjs/export      (live DB)     ← keeps introspection/graphql/meta exporters only
@pgpmjs/import  NEW (dumps)       ← dump-source.ts, import.ts (importDumpRows, linkTextualDeps, COPY handling)
@pgpmjs/diff    NEW (semantic diff) ← diff-source.ts (DiffSide, sqlToDiffChanges, deltaChangesToRows)
  • transform gains a @pgpmjs/ast dep (PgpmRow, parsePlanFile, readScript) instead of the old @pgpmjs/core imports — core depends on transform, so the moved files now sit below core in the graph. restructureExportRows, partitionExportRows, parsePartitionConfig, loadModuleSource, snapshotCatalog/diffCatalogSnapshots are all re-exported from @pgpmjs/transform.
  • @pgpmjs/import and @pgpmjs/diff are pure leaves over ast + naming-spec + transform; export is no longer in their dependency path.
  • CLI commands are unchanged behaviorally — commands/{import,diff,transform,export}.ts just import from the new homes; pgpm/cli adds @pgpmjs/import + @pgpmjs/diff deps.
  • Tests move with their sources (module-source.test.ts → transform, dump-source/import-rows → import, diff-source → diff). No test logic changed.

Pre-existing (verified identical on clean main): 7 failures in pgpm/export meta-config tests (routing_public vs constructive_routing_public naming) are unrelated to this move.

Refs: constructive-planning#1340, constructive-planning#1329; follows #1569/#1571/#1572.

Link to Devin session: https://app.devin.ai/sessions/98edd75e27db4328aec77c581e211092
Requested by: @pyramation

…iff; move shared pipeline glue into @pgpmjs/transform
@pyramation pyramation self-assigned this Aug 1, 2026
@devin-ai-integration

Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@pyramation
pyramation merged commit b9583f1 into main Aug 1, 2026
16 checks passed
@pyramation
pyramation deleted the feat/pgpm-package-split branch August 1, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant